/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modelo;
import java.io.Serializable;
import java.util.ArrayList;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.OneToMany;
/**
 *
 * @author Elias Mendoza
 */
@Entity
@Table(name="nave")
public class Nave implements Serializable{
  @Id
  @GeneratedValue(strategy= GenerationType.IDENTITY)
  private int id;
  @Column(nullable=false)
  private String nombre;
  @Column(nullable=false)
  private String propietario;
  @Column(nullable=false)
  private String estructura;
  private float latitud;
  private float longitud;
  private String localizacion;
  
  public Nave() {
  }

  public Nave(int id) {
    this.id = id;
  }
  public Nave(int id,String nombre) {
    this.id = id;
    this.nombre=nombre;
  }

  public String getEstructura() {
    return estructura;
  }

  public void setEstructura(String estructura) {
    this.estructura = estructura;
  }

  public int getId() {
    return id;
  }

  public void setId(int id) {
    this.id = id;
  }

  public float getLatitud() {
    return latitud;
  }

  public void setLatitud(float latitud) {
    this.latitud = latitud;
  }

  public String getLocalizacion() {
    return localizacion;
  }

  public void setLocalizacion(String localizacion) {
    this.localizacion = localizacion;
  }

  public float getLongitud() {
    return longitud;
  }

  public void setLongitud(float longitud) {
    this.longitud = longitud;
  }

  public String getNombre() {
    return nombre;
  }

  public void setNombre(String nombre) {
    this.nombre = nombre;
  }

  public String getPropietario() {
    return propietario;
  }

  public void setPropietario(String propietario) {
    this.propietario = propietario;
  }

  @Override
  public String toString() {
    return nombre;
  }
  
  //espacio para metodos HashCode y equals

  @Override
  public boolean equals(Object obj) {
    if (obj == null) {
      return false;
    }
    if (getClass() != obj.getClass()) {
      return false;
    }
    final Nave other = (Nave) obj;
    if (this.id != other.id) {
      return false;
    }
    if ((this.nombre == null) ? (other.nombre != null) : !this.nombre.equals(other.nombre)) {
      return false;
    }
    if ((this.propietario == null) ? (other.propietario != null) : !this.propietario.equals(other.propietario)) {
      return false;
    }
    if ((this.estructura == null) ? (other.estructura != null) : !this.estructura.equals(other.estructura)) {
      return false;
    }
    if (Float.floatToIntBits(this.latitud) != Float.floatToIntBits(other.latitud)) {
      return false;
    }
    if (Float.floatToIntBits(this.longitud) != Float.floatToIntBits(other.longitud)) {
      return false;
    }
    if ((this.localizacion == null) ? (other.localizacion != null) : !this.localizacion.equals(other.localizacion)) {
      return false;
    }
    return true;
  }

  @Override
  public int hashCode() {
    int hash = 3;
    hash = 29 * hash + this.id;
    hash = 29 * hash + (this.nombre != null ? this.nombre.hashCode() : 0);
    hash = 29 * hash + (this.propietario != null ? this.propietario.hashCode() : 0);
    hash = 29 * hash + (this.estructura != null ? this.estructura.hashCode() : 0);
    hash = 29 * hash + Float.floatToIntBits(this.latitud);
    hash = 29 * hash + Float.floatToIntBits(this.longitud);
    hash = 29 * hash + (this.localizacion != null ? this.localizacion.hashCode() : 0);
    return hash;
  }
  
  
}
